#!/usr/bin/perl -w
#faire un tableau de scalaire alpha qui contient tous les alphabets miniscules de a à z 
@alpha = ('a'..'z'); 
#faire un tableau de scalaire liste qui contient tous le contenu de tableau alpha + tous les chiffres de 0 à 9
@liste = (@alpha,0..9);
#c'est une affectation qui permet de mettre le quatriéme élement de tableau liste 'd' au variable $el
$el = $liste[3];
# affichage de $el, le résultat de l'affichage c'est  "d"
print "$el\n";
# cette instruction permet d'affecter le premier élement de tableau liste au variable $a, le deuxiéme élement au variable b et le troisiéme élement au variable c
#le reste de contenu tableau liste sera effectué au tableau reste 
($a, $b, $c, @reste) = @liste ;
# affichage des contenu des variables $a, $b et $c et du contenu du tableau reste
#résultat d'affichage: $a = a, $b = b,$c = c, d,e,..........,z,0,1,2.....,9
print "\$a= $a, \$b= $b, \$c =$c , \@reste= @reste\n";
# c'est une affectations multiples qui utilise des tableaux, le contenu des élements de tableau à droite sera affectée aux élement de tableau à gauche
#d'où $b=$a et $a=$b
($b, $a) = ($a, $b);
#Résultat de ce affichage: $a = b, $b = a
print "\$a= $a, \$b= $b \n";
# cette instruction permet d'affecter à la variable $el le contenu de la fonction pop qui permet de retourné le dernier élement du tableau liste et l'enlever du tableau
$el = pop @liste;
# résultat d'affichage : $el = 9,  @liste = a,.....,z,0,1,....,8
print "\$el= $el, \@liste= @liste\n";
# cette instruction permet d'affecter à la variable $el le contenu de la fonction shift qui permet de retourné le premier élement du tableau liste et l'enlever du tableau
$el = shift @liste;
# résultat d'affichage : $el = a,  @liste = b,.....,z,0,1,....,8
print "\$el= $el, \@liste= @liste\n";
#résultat d'affichage :
#@alpha est la liste 
#a,b,c,d,e,......,z
print "\@alpha est la liste \n@alpha\n";
# boucle for permet de parcourir le tableau alpha qui contient 26 élements
for ($i=0; $i<26 ; $i++) 
{
	# cette instruction permet d'affecter à la variable $el le contenu de la fonction pop qui permet de retourné le dernier élement du tableau alpha et l'enlever du tableau
	$el= pop @alpha;
	# la fonction unshift permet d'ajouter le contenu de la variable $el au début de tableau alpha
	unshift @alpha, $el;
}
# résultat d'affichage : a,b,c,.....,z
print "\@alpha est maintenant \n@alpha\n";